package sanshui.system.trade.service;

import sanshui.system.trade.common.CommonResponse;
import sanshui.system.trade.db.entity.*;
import sanshui.system.trade.factory.data.DataLevelKey;
import sanshui.system.trade.factory.data.DataMarketType;
import sanshui.system.trade.factory.operate.OperateStatus;
import sanshui.system.trade.factory.trade.strategy.StrategyCallType;
import sanshui.system.trade.model.TradeAccountModel;
import sanshui.system.trade.model.TradeHisPositionModel;
import sanshui.system.trade.model.TradeWorkerModel;
import sanshui.system.trade.pojo.ao.CreateAccountAo;
import sanshui.system.trade.pojo.ao.GetStrategyResultInfoAo;
import sanshui.system.trade.pojo.ao.QueryAccAo;

import java.math.BigDecimal;
import java.util.List;

public interface IAccountService {

    TradeAccountModel createAccount(TradeWorkerModel tradeWorkerModel);
    List<TradeAccount> findAccount(QueryAccAo queryAccAo);

    TradeHisOpPos buildOpPos(Long accId, Long workerId, Long price, Long num, Long fee, String code, StrategyCallType operationType, String datetime16);

    int updateAccStatus(Long accId, int newStatus, int oldStatus);
    int updateAccByAccId(Long accId, TradeAccount tradeAccount);

    void deleteAccWorker(Long workerId);
}
